package service

import (
	"goconfcenter/dao/mysql"
	"goconfcenter/models"
	"goconfcenter/pkg/snowflake"
	"time"
)

type RoleBackendUserRelService struct {
}

func GetRoleBackendUserRelServiceInstance() *RoleBackendUserRelService {
	return &RoleBackendUserRelService{}
}
func (c *RoleBackendUserRelService) GetListByBackendUserId(userId int64) []*models.RoleBackendUserRel {
	return mysql.GetRoleBackendUserRelDaoInstance().GetListByBackendUserId(userId)
}
func (c *RoleBackendUserRelService) SaveRel(userId int64, authIds []int64, operatorId int64) bool {
	var result bool
	mysql.GetRoleBackendUserRelDaoInstance().DeleteAll(userId)
	roleBackendUserRelList := make([]*models.RoleBackendUserRel, 0)
	for _, v := range authIds {
		one := models.RoleBackendUserRel{}
		one.RoleId = v
		one.BackendUserId = userId
		one.Creator = operatorId
		one.CreateTime = time.Now()
		one.ID = snowflake.GenID()
		roleBackendUserRelList = append(roleBackendUserRelList, &one)
	}
	result = mysql.GetRoleBackendUserRelDaoInstance().BathInsert(roleBackendUserRelList)
	return result
}
